CM4Stack版Local UIFlow
https://scrapbox.io/files/6471ef19348028001bc367a2.svg
Local UIFlowってなぁに?
Local UIFlowは、インターネットに接続できない環境でもUIFlowが使えるようにするしくみです。
システム構成
https://scrapbox.io/files/6471ef19348028001bc367a2.svg
CM4Stack用のLocal UIFlow(以下、CM4Stack版)の構成は上の図の様になります。
デフォルトでは、CM4StackのIPアドレスは192.168.12.1に固定されており、ここでUIFlowを実現するための様々なサーバー群が起動しています。
UIFlowにアクセスするためには http://flow.m5stack.com/ (httpsではありません)にアクセスしますが、この時DNSでflow.m5stack.comを192.168.12.1と見せることで、実際にはCM4Stack上のUIFlowを使わせます。 Local UIFlow上には、動作させるために、以下の様なサーバが動いています。
UIFlowサーバ: UIFlow が動作するために必要
DNSサーバー: flow.m5stack.comに対して、Local UIFlowの192.168.12.1を返すために必要
DHCPサーバー: UIFlowクライアントやM5StackにIPアドレスを割り当てるために必要
各サーバのポート番号の詳細などは、「稼働しているサーバー類」で説明します。
CM4Stack版では、無線LAN設定を行うことで、インターネットへの接続性も確保することができます。
この時、flow.m5stack.comなどのUIFlowで利用するアドレス以外へのアクセスが可能になります。
GUI
https://scrapbox.io/files/657102668437a1002cd9fadb.svg
GUIは上の図のようになっており、以下のような項目からなっています。
ON/OFF: インターネット接続の有効化/無効化スイッチ
Online: オンラインになっている数
Push: ?
Load: ロードアベレージ
Mem: メモリー使用量
WiFiの設定
CM4Stack版では、以下のようにWi-Fiの設定を行うインタフェースが用意されています。
この設定をしておくと、Local UIFlowネットワークからインターネットへのアクセスができるようになります。
この場合でもUIFlowは、Local UIFlowのものが利用されます。
https://gyazo.com/c4117e7ab314dc07da4c7abf7f1f8aaa
稼働しているサーバー類
CM5Stack版では、以下のようなサーバーが稼働しています。
Local UIFlowサーバー
HTTPサーバー(nginx)
DNSサーバー: dnsmasq
設定ファイル: /etc/dnsmasq.conf
DHCPサーバー: udhcpd
設定ファイル: /etc/udhcpd.conf,/etc/default/udhcpd.config
flow.m5stack.comなどは以下のようなサーバー群で置き換えられます。
/home/uiflow-local/docker-volumes/website
/home/uiflow-local/docker-volumes/ezdata-debugger/
/home/uiflow-local/docker-volumes/remote-web
Local UIFlow公開版とのCM4Stack版に関する考察
Local UIFlow公開版とのCM4Stack版では、主に以下のような部分が異なります。
公開状態
Local UIFlow公開版: 2023/12/06に一般公開
CM4Stack版: アルファテスター公開のみ
サーバーへのアクセス方式
Local UIFlow公開版: flow.m5stack.com の名前解決を行う
CM4Stack版: IPアドレスで直接指定
ネットワークの構成
Local UIFlow公開版: DHCPサーバーの割り当てたIPアドレスで使用可能
CM4Stack版: 192.168.12.0/24固定 (サーバーは192.168.12.1)
提供される環境
Local UIFlow公開版: Linux/arm(32bit OS)でXが使える環境をはじめ、各種OS用が提供されている
CM4Stack版: CM4Stack用の専用インタフェースあり
インターネット接続性の確保
Local UIFlow公開版: 無線LANルーターでインターネット接続を用意する
CM4Stack版: CM4StackのWiFi側にインターネット接続を用意する
無線LANルータの必要性
Local UIFlow公開版: 必要
CM4Stack版: DHCPサーバーを自前で用意できれば不要
以上の情報から考えると、各バージョンは以下のように使いわけができると思いますが、CM4Stack版は一般公開されていないため、実際にはLocal UIFlow公開版一択になります。
Local UIFlow公開版
色々なOSでLocal UIFlowサーバーを運用したい時
固定されたIPネットワークではなくて、柔軟にネットワークを構成したい場合
CM4Stack版
M5Stack側でサーバーをデフォルト(flow.m5stack.com )から変更したくない時
専用のインターフェース画面が必要な時
ドキュメント
CM4Stack版用に用意されている公式ドキュメントとしては、以下のインストールドキュメントがあります。
作者:I'm 610t!!
https://gyazo.com/29d993247bf7e8192f05cbc215263a1a
むとうたけし(武藤武士)
専業主夫(53歳)@奈良
所属コミュニティ
アカウント一覧